package com.example.a2022application;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/**
 * description :数据库管理类,负责管理数据库的创建、升级工作
 */
public class MySqliteHelper extends SQLiteOpenHelper {
    //数据库名字
    public static final String DB_NAME = "works.db";

    //数据库版本
    public static final int DB_VERSION = 1;
    private Context context;

    public MySqliteHelper(Context context) {
        super(context, DB_NAME, null, DB_VERSION);
        this.context=context;
    }

    /**
     * 在数据库首次创建的时候调用，创建表以及可以进行一些表数据的初始化
     *
     * @param db
     */
    @Override
    public void onCreate(SQLiteDatabase db) {
        //创建表
        //_id为主键并且自增长一般命名为_id
        String workSql = "create table work(id integer primary key autoincrement,name,typeId, type,content)";
        String userSql = "create table user(id integer primary key autoincrement,account,name,password)";
        db.execSQL(workSql);
        db.execSQL(userSql);
        //初始化数据
        String[] names = new String[]{"粽子","花甲壳","鸡蛋壳","烟头","小龙虾头","尿不湿","湿纸巾","纸巾","玻璃杯","手机电池","饼干","西瓜皮","西瓜籽","虾壳","锂电池"};
        String[] types = new String[]{"湿垃圾","干垃圾","湿垃圾","干垃圾","湿垃圾","干垃圾","干垃圾","干垃圾","可回收垃圾","有害垃圾","湿垃圾","湿垃圾","湿垃圾","湿垃圾","有害垃圾"};
        String[] typeIds = new String[]{"1","2","1","2","1","2","1","1","3","4","1","1","1","1","4"};
        String[] contents = new String[]{"湿垃圾投放指导\n\n餐厨垃圾应沥干水分后在投放，有包装物的应取出后分类投放。\n大块骨头和椰子壳，榴莲壳等不宜生化降解，作为干垃圾进行投放。\n纯液体（如牛奶等），可直接倒入下水口。",
                "干垃圾垃圾投放指导\n\n尽量沥干水分。\n难以辨别的生活垃圾应投入干垃圾容器内。\n餐巾纸、纸巾、纸尿裤、烟蒂等其他垃圾。",
                "湿垃圾投放指导\n\n餐厨垃圾应沥干水分后在投放，有包装物的应取出后分类投放。\n大块骨头和椰子壳，榴莲壳等不宜生化降解，作为干垃圾进行投放。\n纯液体（如牛奶等），可直接倒入下水口。",
                "干垃圾垃圾投放指导\n\n尽量沥干水分。\n难以辨别的生活垃圾应投入干垃圾容器内。\n餐巾纸、纸巾、纸尿裤、烟蒂等其他垃圾。",
                "湿垃圾投放指导\n\n餐厨垃圾应沥干水分后在投放，有包装物的应取出后分类投放。\n大块骨头和椰子壳，榴莲壳等不宜生化降解，作为干垃圾进行投放。\n纯液体（如牛奶等），可直接倒入下水口。",
                "垃圾垃圾投放指导\n\n尽量沥干水分。\n难以辨别的生活垃圾应投入干垃圾容器内。\n餐巾纸、纸巾、纸尿裤、烟蒂等其他垃圾。",
                "干垃圾垃圾投放指导\n\n尽量沥干水分。\n难以辨别的生活垃圾应投入干垃圾容器内。\n餐巾纸、纸巾、纸尿裤、烟蒂等其他垃圾。",
                "干垃圾垃圾投放指导\n\n尽量沥干水分。\n难以辨别的生活垃圾应投入干垃圾容器内。\n餐巾纸、纸巾、纸尿裤、烟蒂等其他垃圾。",
                "可回收垃圾投放指导\n\n清洁干燥，避免污染，轻拿轻放。\n废纸尽量平整，立体包装请清空内容物，清洁后压扁投放。\n有尖锐边角的，应包裹后投放。",
                "有害垃圾投放指导\n\n充电电池、纽扣电池、蓄电池投放时应注意轻放。\n油漆桶、杀虫剂如有残留请密闭后投放。\n荧光灯、节能灯易破损连带包装或包裹后投放。\n废药品及其包装一并投放。",
                "湿垃圾投放指导\n\n餐厨垃圾应沥干水分后在投放，有包装物的应取出后分类投放。\n大块骨头和椰子壳，榴莲壳等不宜生化降解，作为干垃圾进行投放。\n纯液体（如牛奶等），可直接倒入下水口。",
                "湿垃圾投放指导\n\n餐厨垃圾应沥干水分后在投放，有包装物的应取出后分类投放。\n大块骨头和椰子壳，榴莲壳等不宜生化降解，作为干垃圾进行投放。\n纯液体（如牛奶等），可直接倒入下水口。",
                "湿垃圾投放指导\n\n餐厨垃圾应沥干水分后在投放，有包装物的应取出后分类投放。\n大块骨头和椰子壳，榴莲壳等不宜生化降解，作为干垃圾进行投放。\n纯液体（如牛奶等），可直接倒入下水口。",
                "湿垃圾投放指导\n\n餐厨垃圾应沥干水分后在投放，有包装物的应取出后分类投放。\n大块骨头和椰子壳，榴莲壳等不宜生化降解，作为干垃圾进行投放。\n纯液体（如牛奶等），可直接倒入下水口。",
                "有害垃圾投放指导\n\n充电电池、纽扣电池、蓄电池投放时应注意轻放。\n油漆桶、杀虫剂如有残留请密闭后投放。\n荧光灯、节能灯易破损连带包装或包裹后投放。\n废药品及其包装一并投放。"};
        for (int i = 0; i < names.length; i++) {
            String sql = "insert into work(name,typeId, type,content) values(?,?,?,?)";
            db.execSQL(sql,new Object[]{names[i],typeIds[i], types[i],contents[i]});
        }
    }
    /**
     * 数据库升级的时候回调该方法，在数据库版本号DB_VERSION升级的时候才会调用
     *
     * @param db
     * @param oldVersion
     * @param newVersion
     */
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

        //给表添加一个字段
        //db.execSQL("alter table person add age integer");
    }

    /**
     * 数据库打开的时候回调该方法
     *
     * @param db
     */
    @Override
    public void onOpen(SQLiteDatabase db) {
        super.onOpen(db);
    }
}

